Validating the code

Find Unbalanced Tags - To look for opening tags without a matching closing tag or vice versa. When checking Alpha knows which tags have optional opening tags, which have optional closing tags and which may not have closing tags. If any errors are found a window with error messages is opened. The possible error messages are:

TAG may not have a closing tagA closing tag for an element which may not have one has been found, like </BR>.
TAG1 must be closed before TAG2A closing tag is missing, like in this case: <B><I></B>. When a closing tag is missing Alpha implicitly inserts one and continue the checking as if the closing tag would have been there. This may lead to that one error produces two error messages if the tags are nested.
Closing TAG without a matching opening tagA tag </TAG> has been found with no corresponding <TAG>.

Check Tags - A more complete validation, and therefore more time consuming. Note: This is not a strict validation! There are several things which are not checked, in particular the attributes are not checked.

Alpha ignores the doctype header if there is any. Instead it uses the package currently selected. For the HTML 3.2 package W3C's specification is used. For the extensions package I have made my own specification of what is correct HTML. I have taken the specification for HTML 3.2 and added the other elements in the way I thought best. As there is no official specification for the extensions my specification is as good as anybody else's.

In this case the possible error messages are:

Unmatched <A single < has been found.
Unmatched >A single > has been found.
TAG is unknownAn unknown tag has been found. Note: If you have added new custom elements to HTML mode they are all considered to be unknown when validating. There is no way for HTML mode to tell where they are allowed.
TAG1 may not contain TAG2TAG2 has been found in a context where it may not be. Example: <TABLE><B>
<B> may not be inside <TABLE>.
TAG may not contain textPlain text has been found inside a tag which may not contain text. Example: <UL>text.
<UL> may only contain <LI> tags.
TAG may not have a closing tagA closing tag for an element which may not have one has been found, like </BR>.
TAG1 must be closed before TAG2A closing tag is missing, like in this case: <B><I></B>. When a closing tag is missing Alpha implicitly inserts one and continue the checking as if the closing tag would have been there. This may lead to that one error produces two error messages if the tags are nested.
Closing TAG without a matching opening tagA tag </TAG> has been found with no corresponding <TAG>.
Multiple HTML tagsMore than one HTML tag have been found. This can be the result of an implicitly inserted HTML tag.
Multiple HEAD tagsMore than one HEAD tag have been found. This can be the result of an implicitly inserted HEAD tag.
Multiple BODY tagsMore than one BODY tag have been found. This can be the result of an implicitly inserted BODY tag.
Text after </HTML>Some text have been found after the closing </HTML>.

Unfortunately the error messages are not always so very helpful. A few tips to help your debugging: